Back

Financial Markets Analytics Project

Building Portfolios with different Screening strategies based on several companies' indicators.

This Project was written in collaboration with Vittorio Haardt and Alberto Formigoni for the Financial Markets Analytics course in the Master Degree in Data Science.
The aim of the project was to utilize several key indicators of several companies to build the Portfolio with the highest expected returns.
The indicators used for the project were more than 40. They included, for example: PE ratio, EBITDA, Sales and Debt per Share, the Price and all of its Moving Averages, Volatility, Return on Equity, Price to Book Ratio, ecc. For this reason, this project is also testament of our deep knowledge of these fundamental indicators.

In our introductory phase, we built all the tools necessary for our analysis.
After a first cleaning phase, we built a benchmark that would have been later used to compare all of our Portfolios. We then built a complex Python function that could emulate a Screening model. The function would decide, at every point in time, which stocks to buy and which stocks to sell, based on the companies indicators. Then, it would also compute, at every month, the value of the Portfolio, taking into account both our buy/sell operations and the stocks' price's movements. This function would then be used (with some slight changes) at every point of the document, to evaluate different Screening techniques.
We then passed on to build other function that would compute different metrics to evaluate the performances of each Portfolio: Information ratio, Sharpe ratio and Sortino ratio.

After setting up all of our tools, we started to build different portfolio with different screening strategies and evaluate their performances.
We therefore applied a Sequential Screening and then a Simultaneous Screening. After that, we developed a technique to account for the correlation between the factors. Then we built a Weighted Portfolio (weighted on the stocks' volatility), and a Portfolio based on momentum.
For the last point, we were asked to try to implement a Deep Learning technique to build the portfolio from the data. We decided to use Prophet: a Deep Learning algorithm developed by Meta to forecast time series.

The Project went on achieving the best results.

Tags

Finance Portfolio Theory Python Screening Models Multi Factors Models Prophet Time Series Analysis Momentum